home *** CD-ROM | disk | FTP | other *** search
- ;/*
- ; * Triton - The object oriented GUI creation system For the AMIGA
- ; * Written by Stefan Zeiger in 1993-1995
- ; *
- ; * (c) 1993-1995 by Stefan Zeiger
- ; * You are hereby allowed To Use this source OR parts
- ; * of it For creating programs For AmigaOS which Use the
- ; * Triton GUI creation system. All other rights reserved.
- ; *
- ; * progind.c - Progress indicator demo
- ; *
- ; */ NOW WITH QUICKHELP!
-
-
- INCLUDE "blitz2:bbincludes/libraries/triton.bb2"
-
- NoCli:WBStartup
-
- #ID_MAIN_GADGET_STOP=1
- #ID_MAIN_PROGIND=2
-
- close_me.b=False
- *trmsg.TR_Message=0
-
- title$="Progress Indicator Demo"
- appname$="trProgIndDemo"
- version$="1.0"
-
- i.l=0
-
- Dim apptags.TagItem(20)
-
- InitTagList 1,100
- Use TagList 1
-
- AddTags !WindowID{1}
- AddTags !WindowTitle{Null("Progress Indicator Demo")}
- AddTags !WindowPosition{#TRWP_CENTERDISPLAY}
- AddTags !WindowFlags{#TRWF_NOCLOSEGADGET OR #TRWF_NOESCCLOSE},!QuickHelpOn{1}
- AddTags !VertGroupA,!Space,!CenteredText{Null("Working...")}
- AddTags !Space,!HorizGroupA
- AddTags !Space,!Progress{100,0,#ID_MAIN_PROGIND}
- AddTags !Space,!EndGroup
-
- AddTags !SpaceS,!HorizGroupA,!Space
- AddTags !HorizGroupSA, !TextN{Null("000%")}, !Space, !TextN{Null("050%")}, !Space, !TextN{Null("100%")}, !EndGroup
-
- AddTags !Space, !EndGroup
- AddTags !Space, !HorizGroupSA
- AddTags !Space, !ButtonE{Null("_Stop"),#ID_MAIN_GADGET_STOP},!QuickHelp{Null("Quit Progress Demo")}
- AddTags !Space, !EndGroup
- AddTags !Space, !EndGroup
- AddTags #TAG_END,0
-
- apptags(1)\ti_Tag=#TRCA_Name,&appname$
- apptags(2)\ti_Tag=#TRCA_Version,&version$
- apptags(3)\ti_Tag=#TAG_END
-
-
- application.l=TR_CreateApp_(&apptags(1))
- If application
-
- project.l=TR_OpenProject_(application,TagList)
-
- If (project)
-
- user_closed=0
- i=0
-
- While ( (i<100) AND (user_closed=0) )
-
- TR_Wait_ application,0
-
- i+1
-
- ;/* Display our progress */
-
- TR_SetAttribute_ project,#ID_MAIN_PROGIND,#TRAT_Value,i
-
- ; /* AND Check For the 'Stop' gadget. Note that you always have To INCLUDE
- ; such a TR_GetMsg() loop, Even If there's no gadget For stopping. You
- ; have To Call TR_GetMsg() regularly so that Triton may react On the
- ; user's wishes, e.g. redrawing the Window contents after a resize. */
-
- *trmsg=TR_GetMsg_(application)
-
- While (*trmsg)
-
- If (*trmsg\trm_Project=project)
- Select *trmsg\trm_Class
-
- Case #TRMS_CLOSEWINDOW:
- user_closed=True
-
- Case #TRMS_ERROR:
- NPrint Peek$(TR_GetErrorString_(*trmsg\trm_Data))
-
- Case #TRMS_ACTION:
- If (*trmsg\trm_ID=#ID_MAIN_GADGET_STOP) Then user_closed=True
- End Select
- EndIf
-
- TR_ReplyMsg_ *trmsg
-
- *trmsg=TR_GetMsg_(application)
- End While
- End While
-
- TR_CloseProject_(project);
- Else
- NPrint "Can't open window."
- EndIf
- TR_DeleteApp_ application
- Free TagList 1
- Else
- NPrint "Unable to create application"
- EndIf
- End
-
-